The field of the present invention pertains to digital image capture devices. More particularly, the present invention relates to a method for remotely accessing a digital camera via a communication network.
Modern digital cameras typically include an imaging device which is controlled by a computer system running a software program. When an image is captured, the imaging device is exposed to light and generates raw image data representing the image. The raw image data are typically stored in an image buffer, where they are processed and compressed by the computer system""s processor. Many types of compression schemes can be used to compress the image data, such as the joint photographic expert group (JPEG) standard. After the processor processes and compresses the raw image data into image files, the processor stores the image files in an internal memory or on an external memory card.
Some digital cameras are also equipped with a liquid-crystal display (LCD) or another type of display screen on the back of the camera. Through the use of the LCD, the processor can cause the digital camera to operate in one of two modes, play and record, although some cameras only have a record mode. In the play mode, the LCD is used as a playback screen allowing the user to review previously captured images either individually or in arrays of four, nine, or sixteen images. In the record mode, the LCD is used as a viewfinder through which the user may view an object or scene before taking a picture.
Besides the LCD, user interfaces for digital cameras also include a number of buttons or switches for setting the camera into one of the two modes and for navigating between images in play mode. For example, most digital cameras include two buttons, labeled xe2x80x9cxe2x88x92xe2x80x9d and xe2x80x9c+,xe2x80x9d that enable a user to navigate or scroll through captured images. For example, if the user is reviewing images individually, then pressing one of navigation buttons causes the currently displayed image to be replaced by the next image.
A digital camera has no film and, as such, there is no incremental cost of taking and storing pictures. Hence, it is possible to take an unlimited number of pictures, wherein the most recent picture replaces the earliest picture, for virtually zero incremental cost. Accordingly, this advantage is best realized when the camera is used as much as possible, taking pictures of practically anything of interest.
One way to best utilize this unique attribute is to make the digital camera and its internally stored images remotely accessible. If the pictures are remotely accessible, the camera could be set to continuously take pictures of scenes and items of interest. Ideally, a user would be able to access those pictures at any time. The user would be able to use a widely available communications medium to access the camera from virtually an unlimited number of locations.
The emergence of the Internet as a distributed, widely accessible communications medium provides a convenient avenue for implementing remote accessibility. Providing remote accessibility via the Internet leverages the fact that the Internet is becoming familiar to an increasing number of people. Many users have become accustomed to retrieving information from remotely located systems via the Internet. There are many and varied applications which presently use the Internet to provide remote access or remote connectivity. Internet telephony is one such application, such as Microsoft""s NetMeeting and Netscape""s CoolTalk.
NetMeeting and CoolTalk are both real-time desktop audio conferencing and data collaboration software applications specifically designed to use the Internet as their communications medium. Both software applications allow a xe2x80x9clocalxe2x80x9d user to place a xe2x80x9ccallxe2x80x9d to a xe2x80x9cremotexe2x80x9d user located anywhere in the world. With both NetMeeting and CoolTalk, the software application is hosted on a personal computer system at the user""s location and on a personal computer system at the remote user""s location. Both NetMeeting and CoolTalk require a SLIP (Serial Line Internet Protocol) or PPP (Point-to-Point Protocol) account where Internet access is via a dial-up modem, and where the user, as is typical, accesses the Internet through an ISP (Internet Service Provider). Both NetMeeting and CoolTalk require personal computer systems for the resources necessary to run these applications (e.g., processing power, memory, communications hardware, and the like). In addition, both NetMeeting and CoolTalk require the one user to input an IP (Internet Protocol) address for the other user in order to establish communication between the users.
To facilitate the process of obtaining appropriate Internet addresses, CoolTalk, for example, allows on-line users to list their respective IP addresses with a proprietary CoolTalk central Web server. This allows a user to obtain a list of users currently on-line to whom communication can be established. Upon locating the desired remote user in the Internet address list maintained by the Web server, the local user places the call.
In this manner, the proprietary CoolTalk Web server maintains a user-viewable and user-updated xe2x80x9caddress bookxe2x80x9d in which users list their respective Internet addresses and in which they search for the Internet addresses of others with whom they wish to communicate. However, both NetMeeting and CoolTalk require active user input, in that each require the user to input his current Internet address, and in that each require the local user to search the address book for the Internet address of the remote user to be contacted. This can be quite problematic in the case where users obtain access to the Internet via dial-up connections and hence have different Internet addresses each time their respective dial-up connections are established.
In a manner similar to Internet telephony, Internet desktop video conferencing is another prior art application which uses the Internet as its communications medium. One such application, for example, is CU-SeeMe by White Pine. CU-SeeMe provides real time video conferencing between two or more users. As with NetMeeting and CoolTalk, CU-SeeMe is a software application which runs on both the local user""s personal computer system and the remote user""s personal computer system. The personal computer systems provide the resources for running the application. As with NetMeeting and CoolTalk, CU-SeeMe requires the local user to enter the IP address of the remote user. Like CoolTalk, CU-SeeMe facilitates this process by allowing on-line users to list their respective IP addresses with a proprietary central Web server such that the addresses can be easily indexed and searched.
Another prior art example of remote access via the Internet is status queries of remote devices using the Internet as the communications medium. A typical prior art application involves interfacing a remote device with a computer system, and accessing the computer system via the Internet. For example, a vending machine can be remotely accessed to determine its status (e.g., the number of sales made, whether the machine needs refills, whether the machine needs maintenance, and the like). The machine is appropriately equipped with sensors, switches, and the like, which in turn are interfaced to a computer system using a software driver. The computer system is coupled to the Internet and interfaces with the machine through the driver, making the relevant information available over the Internet using Web server software. Hence, any interested user (e.g., the vending machine service company) is able to remotely ascertain the status of the machine via the Internet.
A problem with the above described prior art applications is that access to the Internet and communication thereon require a separate host computer system (e.g., a personal computer system) on each side of the Internet connection in addition to the server computer system on the Internet. The two host computer systems provide the computational resources to host the respective software applications, the Internet access software, and any necessary device drivers. The required computational resources consume a significant amount of memory. Because of this, among other reasons, the above prior art applications are not easily transferred to the realm of easy-to-use, intuitive, consumer electronic devices such as digital cameras, which are small in size and so generally constrained by the amount of memory they can house. In addition, a consumer electronic device such as a digital camera that requires a separate computer system would be more expensive and complex, and therefore would not be consistent with the desire of consumers for lower cost and simpler devices.
Also, separate host computer systems (where the host computer systems host the software and drivers required by prior art applications as described above) require extra effort to administer, particularly with regard to networks consisting of a large number of computer systems (e.g., digital cameras each incorporating a computer system). For example, an upgrade to the software residing on each computer system has to be individually installed on each computer system. Also, each computer system has to be individually polled to query whether the computer system has data of interest to the user, and then the data have to be separately accessed and collected from each computer system, then compiled. For example, in an application involving digital cameras, a user may be interested in finding out which digital cameras have images in storage. In the prior art, the user has to access each digital camera individually. In another case, a user may have an interest in maintaining a record of transactions between all users and all digital cameras. Again, in the prior art this is accomplished by individually accessing each digital camera (or, alternatively, each user""s computer system) to collect the data, and then compiling the complete list of transactions.
Another problem with the prior art is the fact that the applications described above require the user to know the Internet address of the person or device that is being contacted. The Internet telephony applications (e.g., CoolTalk) often employ a user-viewable and user-updated address book to facilitate the process of locating and obtaining the correct Internet address; however, they require active user input. This is difficult in the case where users obtain access to the Internet via dial-up connections, and thus have changing Internet addresses. Still another problem with the prior art is that the applications described above provide only a limited degree of functionality; that is, they are limited to either chat, video conferencing, or the like. As such, they are not capable of establishing a connection between any type of user system and remote device.
One prior art system is described in the copending previously filed patent application, assigned to the assignee of the present invention, entitled xe2x80x9cA Method and System for Hosting an Internet Web Site on a Digital Camera,xe2x80x9d Eric C. Anderson and others, Ser. No. 09/044,644. This prior art system presents one solution to the problem of gaining remote access to those digital devices where the location and Internet address of the device are highly changeable. This prior art system incorporates a Web server into the digital device, specifically a digital camera. However, the disadvantage to this prior art system is that the Web server consumes valuable memory and computational resources in the digital camera. In addition, because of the limited memory in a device such as a digital camera, the Web server is not as powerful as a Web server on a server computer system.
Thus, a need exists for an inexpensive and powerful method for implementing remote access to digital devices, such as digital cameras, where the location and Internet address of the device are highly changeable. A further need exists for an intuitive, simple protocol for presenting the device""s functionality and capabilities to users. In addition, a need exists for a method of efficiently administering a plurality of separate devices. A need also exists for an efficient process of obtaining the address of the device that is transparent to the viewer. The present invention provides a novel solution to the above needs.
The present invention provides an inexpensive and powerful method for implementing remote access to digital devices, such as digital cameras, where the location and Internet address of the device are highly changeable. The present invention further provides an intuitive, simple protocol for presenting the device""s functionality and capabilities to users. In addition, the present invention provides a method of efficiently administering a plurality of separate devices. The present invention also provides an efficient process of obtaining the address of a device that is transparent to the user.
In one embodiment, the present invention is an executable program for accessing a digital camera via a communication network using a Web server on a server computer system and a Web browser (or a program of similar function) on a client computer system that are communicatively coupled via the Internet. The address of the digital camera is registered in an executable program on the server computer system. The executable program is accessed by the client computer system. The executable program connects the digital camera and the server computer system. The executable program enables the client computer system and the digital camera to communicate using any protocol used by these devices, thus allowing data (e.g., images) acquired by the digital camera to be transferred to the client computer system.
The executable program can be implemented in a variety of forms. For example, the executable program can be a Java servlet. Alternatively, the executable program can be a cgi-bin (Common Gateway Interface-binaries).
For example, in the case of a digital camera, the executable program directly communicates commands from the client computer system to the digital camera when both the client computer system and the digital camera are on-line at the same time. Alternatively, if the digital camera is not on-line, the commands from the client computer system are first stored in the server computer system, and then later communicated by the executable program to the digital camera after a connection between the server computer system and the digital camera is made. The capability to store and then forward commands and data is not limited to a digital camera application nor is it limited to a particular data storage format. The data storage format can be any format that is understood by both the client computer system and the digital device.
Images and any other data acquired by the digital camera are accessed by the server computer system using the executable program and directly transferred to the client computer system when both the client computer system and the digital camera are on-line at the same time. Alternatively, if the client computer system is not on-line, the data are first stored by the server computer system, and then later communicated to the client computer system after a connection between the server computer system and the client computer system is made.
It should be noted, however, that the present invention can be readily modified to function in other embodiments, such as, for example, hand-held digital devices, lap top personal computers, and the like, which require an efficient process of obtaining the address of a device that is transparent to the user.
These and other objects and advantages of the present invention will become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.